System and method for widget-assisted setup of a universal remote control

ABSTRACT

A system and method for enabling set up of a controlling device capable of controlling a plurality of appliances provides an interactive instruction set and associated programming which is downloadable to a controllable appliance having an associated display, such as an Internet enabled television. The programming is accessible by the controllable appliance and is configured to appropriately display interactive instructions from the interactive instruction set to a user during a user initiated set up procedure for setting up the controlling device to communicate commands to another controllable device (e.g., a DVD, VCR, DVR, etc).

RELATED APPLICATION DATA

This application claims the benefit of and is a continuation of U.S.application Ser. No. 17/748,254, filed on May 19, 2022, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 15/986,489, filed on May 22, 2018, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 15/785,509, filed on Oct. 17, 2017, whichapplication claims the benefit of and is a continuation of U.S.application Ser. No. 12/974,231, filed on Dec. 21, 2010, whichapplication claims the benefit of U.S. Provisional Application Ser. No.61/289,486, filed on Dec. 23, 2009, and claims the benefit of and is acontinuation-in-part of U.S. application Ser. No. 11/515,962, filed onSep. 5, 2006, which application in turn claims the benefit of U.S.Provisional Application Ser. No. 60/715,229 filed on Sep. 8, 2005, whichapplications are incorporated herein by reference in their entirety.

BACKGROUND OF THE INVENTION

This invention relates generally to remote control systems and, moreparticularly, to a system and method for setting up and configuring auniversal remote control to command functions of one or more types ofremotely controllable appliances of one or more manufacturers. Exemplarytypes of appliances include, but are not limited to televisions, videocassette recorders (VCRs), cable boxes, disk players, digital videorecorders (DVRs), thermostats, game consoles, etc.

Manufacturers typically provide a remote control with an appliance and,as such, different appliance types of different manufacturers are oftencommanded with different remote controls. To minimize the number ofindividual remote controls a user requires, universal remote controlshave been developed. Accordingly, universal remote controls forcommanding various functions of various types of appliances of variousmanufacturers have become quite widespread. By way of example, universalremote controls are described in commonly assigned U.S. Pat. Nos.4,959,810, 5,255,313 and 5,552,917.

In a common method of setting up a universal remote control, codes forcommanding functions of an appliance are learned from a remote controlsupplied by the manufacturer with that appliance. The learned codes,which are stored within the universal remote control, are then availablefor subsequent transmission to the appliance. Alternatively, codes forcommanding functions of appliances of various types and variousmanufacturers can be preprogrammed into the universal remote control.The user then interacts with the universal remote control to identify tothe universal remote control which appliance(s) the user desires tocommand, i.e., the user manually enters an appliance or brand code,usually obtained from a tabulation in a printed user manual or the like,into the universal remote control and the universal remote control usesthat user provided identity information to access those preprogrammedcodes that are appropriate for commanding the identified appliance(s).In this regard, examples of known methods for performing an initialsetup of an universal remote control may be found in, for example, theabove mentioned U.S. Pat. No. 4,959,810 as well as U.S. Pat. No.5,614,906, entitled “Method for Selecting a Remote Control Command Set,”or U.S. Pat. No. 4,703,359 entitled “Universal Remote Control Unit withModel Identification Capability,” each of which is incorporated hereinby reference in its entirety.

An additional system and method for setting up a universal remotecontrol is disclosed in U.S. Pat. No. 6,650,248.

While such known setup methods do work for their intended purpose, ithas been seen that the process of setting up and configuring a universalremote control can be demanding, exacting, and generally frustrating formany users. For example, user manuals or other documents containingsetup codes and entry instructions may be lost or misplaced, or may besuperseded as brand and/or model names evolve, etc. Accordingly, a needexists for a simplified and more user friendly system and method forsetting up and configuring a universal remote control.

SUMMARY OF THE INVENTION

In accordance with this need, the following describes a system andmethod for allowing a universal remote control to be easily setup andconfigured to command appliances of various types and variousmanufacturers. In certain exemplary embodiments presented herein, suchset up and configuration methods may be facilitated via the use of anetworked appliance, for example a cable or satellite set top box, anInternet-enabled TV, etc., as an intermediary. For example, such asystem and method for enabling set up of a controlling device capable ofcontrolling a plurality of appliances may provide an interactiveinstruction set and associated programming, i.e., a widget, which isdownloadable to a controllable appliance having an associated display,such as an Internet enabled television. The programming is accessible bythe controllable appliance and is configured to appropriately displayinteractive instructions from the interactive instruction set to a userduring a user initiated set up procedure for setting up the controllingdevice to communicate commands to another controllable device (e.g., aDVD, VCR, DVR, etc).

A better appreciation of the objects, advantages, features, properties,and relationships of the system and method for setting up andconfiguring a universal remote control will be obtained from thefollowing detailed description and accompanying drawings which set forthillustrative embodiments which are indicative of the various ways inwhich the principles of the system and method may be employed.

BRIEF DESCRIPTION OF THE DRAWINGS

For use in better understanding the exemplary systems and methods forsetting up a universal remote control which are described hereinafter,reference may be had to preferred embodiments shown in the followingdrawings in which:

FIG. 1 illustrates an exemplary system in which a universal remotecontrol may be used;

FIG. 2 illustrates a top view of an exemplary universal remote controlfor use in the system of FIG. 1 ;

FIG. 3 illustrates a block diagram view of various components of theexemplary universal remote control of FIG. 2 ;

FIGS. 4 through 6 illustrate the system of FIG. 1 at various stagesduring initial setup of the exemplary universal remote control;

FIG. 7 illustrates, in flow chart form, the steps performed duringinitial setup of the exemplary universal remote control;

FIGS. 8A-8C illustrate the system of FIG. 1 at various stages during anexemplary key mapping setup of the exemplary remote control;

FIG. 9 illustrates, in flow chart form, the steps performed during keymapping setup of the exemplary remote control;

FIG. 10 illustrates a second exemplary system in which a universalremote control may be used; and

FIGS. 11A through 11D illustrate exemplary screen displays of anInternet-enabled TV when used in connection with setting up theuniversal remote control of FIG. 10 .

DESCRIPTION OF THE INVENTION

The following describes a system and methods for setting up andconfiguring a universal remote control to command one or more functionsof one or more types of appliances of one or more manufacturers. By wayof example, FIG. 1 illustrates an exemplary system 110 wherein auniversal remote control 100 supplied together with a cable set top box102 may be used to command functions of various appliances, illustratedas a TV set 104 and a VCR 106.

For use in remotely commanding a device to perform a common and/orextended operational function (i.e., a function that may not be widelysupported by devices of a common device type), the universal remotecontrol 100, an example of which is illustrated in FIG. 2 , includes aset of command keys within a key matrix which are assigned tooperational functions. In this regard, common operational functionsinclude functions that are usually widely supported by devices of acommon device type (e.g., power 202, digit tuning 204, volume control218, channel up/down control 206, media transport 210, etc.) Theuniversal remote control 100 also includes device keys 212, e.g., “AUX,”“CBL,” “VCR,” and “TV,” the activation of which places the universalremote control 100 into a mode to transmit commands to a particular typeof device, and a setup key 208. It will be appreciated that, whileillustrated as hard keys, in other embodiments some or all of the keysof the universal remote control 100 may implemented as soft keys, forexample, by being displayed on an LCD touch screen or the like.

By way of further example, referring to FIG. 3 , the universal remotecontrol 100 may include, as needed for a particular application, aprocessor 300 coupled to one or more memory devices (such as a ROMmemory 308, a RAM memory 310, and/or non-volatile read/write memory306), a key matrix 302 (e.g., physical buttons, a touch screen display,or a combination thereof), an internal clock and timer 301, transmissioncircuit(s) 304 (e.g., IR and/or RF), receiver circuit(s) and/ortransceiver circuit(s) (e.g., IR and/or RF—not illustrated), a means 303to provide visual feedback to the consumer (e.g, LED, display, and/orthe like), means to provide audio feedback to the user (e.g., aspeaker—not illustrated), a power supply 307, and/or a serial I/O port(e.g., a jack or contacts—not illustrated). As will be understood bythose of skill in the art, the memory device(s) includes executableinstructions that are intended to be executed by the processor 300 tocontrol the operation of the universal remote control 100. In thismanner, the processor 100 may be programmed to control the variouselectronic components within the universal remote control 100, e.g., tomonitor the power supply 307, to cause the transmission of signals,display icons and/or HTML pages, etc. The non-volatile read/write memory306, for example, an EEPROM or the like, may be provided to store setupdata and parameters as necessary such that data is not required to bereloaded after battery changes. It is to be understood that the memorydevices may take the form of any type of readable media, such as, forexample, a Smart Card, memory stick, a chip, a hard disk, a magneticdisk, and/or an optical disk. Still further, it will be appreciated thatsome or all of the illustrated memory devices may be physicallyincorporated within the same IC chip as the microprocessor 300 (a socalled “microcontroller”) and, as such, they are shown separately inFIG. 3 only for the sake of clarity.

To cause the universal remote control 100 to perform an action, theuniversal remote control 100 is adapted to be responsive to events, suchas a sensed consumer interaction with the key matrix 302, receipt of atransmission, etc. In response to an event appropriate instructionsand/or data within the memory devices are executed and/or accessed. Forexample, when a command key is activated on the universal remote control100, the universal remote control 100 may retrieve a code data valuecorresponding to the activated command key from a memory device andaccess instructions to transmit the retrieved code data value to adevice in a format recognizable by the device. It will be appreciatedthat the instructions within the memory devices can be used not only tocause the transmission of command codes and/or data to the devices butalso to perform local operations. While not limiting, local operationsthat may be performed by the universal remote control 100 includedisplaying information/data, favorite channel setup, macro button setup,command function key relocation, etc. Since examples of local operationscan be found in U.S. Pat. Nos. 5,481,256, 5,959,751, and 6,014,092 theywill not be discussed in greater detail herein.

To initially program the universal remote control 100 to access theoperational functions of a device, the consumer may use an improvedsystem and method for obtaining, entering, and testing device codeinformation, one exemplary embodiment of which is described hereafter.

Turning now to FIG. 4 , in an exemplary embodiment a remote control 100may be supplied together with a cable or satellite set top box (“STB”)102. Remote control 100 may include a universal library of infraredcodes for use in controlling other types of appliances which arecommonly utilized in conjunction with a set top box, such as for examplea TV 104 and/or a VCR 106. To facilitate setting up remote control 100to command operation of appliances 104, 106, STB 102 may be equippedwith data 404 and application program 406, preferably stored locallywithin STB 102 on mass storage 402 or on a device otherwise accessibleto STB 102. It will be appreciated that mass storage 402 may take theform of flash memory, ROM memory, RAM memory, memory card or stick, harddisk drive, CD ROM, etc., or any combination of the above asappropriate. It will be further appreciated that data 404 andapplication 402 may be periodically updated over the cable networkand/or may in certain embodiments even be partially or fully resident atthe cable headend or other remote source accessible by STB 102. The data404 and application 402 may also be updated using a device other thanthe STB 102. For example, if the data 404 and application 402 aremaintained on removable memory, the removable memory may be updated viaa personal computer or other device with an Internet connection and thenreplaced into the STB 102. It should also be appreciated that while theexemplary embodiment below is presented in terms of interactions betweena remote control 100 and an application 402 resident in an STB, inalternative embodiments application 402 may be hosted on, and theinteractions may occur with, any suitable appliance such as a TV, DVR,AV receiver, etc. without limitation.

Application 406 is responsive to IR signals issued by remote control 100during the user setup process as illustrated in the flowchart of FIG. 7and described below:

The user enters a Setup Mode by, for example, pressing and holding setupkey 208. The entering of the Setup Mode may be signaled to a user by theLED 303 blinking twice (e.g., upon pressing and holding the setup keyfor approximately 3 seconds). Upon entering Setup Mode the remotecontrol transmits a specific “setup” IR code to STB 102 which isinterpreted as a command to initiate the “Remote Setup/Help” application406. Alternatively or as a backup, in certain embodiments application406 may also be invoked from STB 102's built-in menu system, uponactivation of a dedicated key on the STB 102, etc.

In connection with entering the setup mode, the remote control 100 mayconfigure its keyboard as follows:

Navigation (Left, Right, Up, Down and Select/OK keys) 214, Exit key 216,and device keys 212 are adapted to cause transmission of infraredcommand data in the format recognized by STB 102;

Digit entry keys 204 do not transmit commands but serve only for inputof appliance setup codes as described hereafter; and

Function keys such as volume 208, channel up/down 206, transport keys210, etc. are adapted to cause transmission of infrared command data inthe format of the appliance under test as described hereafter.

In connection with the following paragraphs, the reader may wish torefer to FIG. 7 which presents, in flowchart form, a summary of thesteps described below and illustrated in FIGS. 4 through 6 . Uponinitiation, STB application 406 may display on TV 104 a user prompt suchas for example: “What device do you want to setup for control?” togetherwith a list of valid device types, e.g. “TV”, “VCR”, “Receiver”, etc.The application 406 may also prompt the user to select an appropriatelanguage for the prompts. Application 406 may additionally displaymessages for general user guidance such as for example “Press Exit atany time to exit remote setup and return to watching TV.”

In the exemplary embodiment the user may then select, using navigationkeys 214, a desired device type from the displayed list, for example“VCR.” In an alternative embodiment, the user may directly select thedevice type by actuating one of the device keys 212 of the remotecontrol, which may in that instance be adapted to transmit a signal tothe STB indicative of the device type selected. Application 406 mayrespond by displaying a confirmation of the selected device typetogether with scrollable list 410 of valid brand names for that devicetype, as illustrated in FIG. 4 . The brand names that comprise this listare obtained by reference to data file 404. In this way it will beunderstood that certain keys or groups of keys on remote control 100 maybe temporarily reconfigured (generally during the setup procedure) totransmit command data to STB for purposes of user interaction withapplication 406 during the setup process.

The user may then select (once again via use of keys 214) a desiredbrand name, for example “Samsung.” Application 406 may respond bydisplaying the remote control setup code number most likely to result inselection of an infrared code set which will operate appliances of thetype and manufacture indicated (once again, obtained by reference todata 404). In the exemplary embodiment presented, this number mayinclude a leading digit to indicate to the remote control programmingwhich device type is to be setup, e.g. “2” for “VCR”. In alternativeembodiments where the user may already have explicitly entered thedevice type being set up via one of the keys 212, this may not benecessary.

The user may then enter this number, for example “2” “0” “0” “6” “0”(502 in Figure into remote control 100 using digit entry keys 204. Uponentry of the final digit of the sequence, remote control 100:

Configures itself to transmit commands in the indicated infrared commandformat in response to actuation of function keys 206, 208, 210, etc.,and

Transmits an infrared command in STB format to notify the STBapplication 406 that device code entry is complete.

Upon receipt of the completion signal from remote control 100, STBapplication 406 may display a listing of suggested function(s) 602 totest operation of the target appliance using the code just entered,together with a user message to, for example, press “setup” if thesuggested code works, or to press “select” to try a different code, allas illustrated in FIG. 6 .

If the user activates the “setup” key, indicative that the current codebeing tested has been found suitable to command operation of theappliance, remote control 100 again transmits a completion signal in STBinfrared format, which is interpreted by application 406 in STB 102 as asuccessful conclusion of the setup process and causes application 406 toterminate execution, returning STB 100 to normal operation. Likewise,remote control 100 also returns to normal operation, configured now toissue commands in the chosen format that device type (VCR in the examplepresented) is selected by activation of one of keys 212.

If on the other hand, the user activates the “select” key, indicativethat the current code being tested is unable to command operation of theappliance, remote control 100 transmits the “select” command signal inSTB infrared format, which causes application 406 to retrieve anddisplay the next most likely setup code number contained in data 404, sothat the user may repeat the test steps using this new code. This setupprocess may continue until the user finally exits by activating the“setup” or “exit” key, or alternatively, data 404 may include anindicator that no further possibilities exist, upon eventual retrievalof which application 406 may cause a display of instructions to the userto abort the setup process by pressing the “exit” key and, for example,call a customer service number.

In an alternate embodiment, application 406 may be configured to monitorcommand data transmitted from remote control 100 during the setupprocess for use in automatically progressing through the various setupinstructions and prompts associated with the setup application. By wayof example only, application 406 may be configured to monitor commanddata transmitted from remote control 100 in order to echo key presses onthe TV screen as a means of visual verification to the user that a setupcode was entered correctly, or to present prompts such as “Did your DVDplayer respond to the Power On command? Press “1” for yes, or press “0”for no” whereupon receipt of either the “1” or “0” key command data willcause application 406 to proceed automatically to another instruction orprompt in the setup procedure.

In certain embodiments, after the appropriate command code sets for thedevices to be controlled have been selected as described above, it maybe desirable to further configure certain operational characteristics ofremote control 100. In particular, as described for example in U.S. Pat.No. 6,947,101 or 7,013,434 (both of like assignee and incorporatedherein by reference in their entirety) it may be advantageous to assigncertain subsets of the keys of remote control 100 to always transmitcommand codes corresponding to a specific device. As appropriate for aparticular embodiment, this may take the form of a fixed assignment ofcertain keys to always send the same code regardless of the devicecurrently selected via device keys 212 (as described in theaforementioned U.S. Pat. No. 6,947,101) or this may take the form of aseparate special page or device mode (e.g. “Home Theater mode”)comprised of a composite of groups of key functions from other devicemodes (as described in the aforementioned U.S. Pat. No. 7,013,434), orsome combination thereof. For example, users whose equipment isconfigured to route all audio signals through their a/v receiver maywish to have the volume keys 208 of exemplary remote control 100 alwaystransmit commands that are intended to control corresponding operationsof the receiver (i.e., the device code setup on the AUX mode key 220).Cable or satellite subscribers may wish to have the channel tuning keys206 and numeric pad 204 always transmit commands that are intended tocontrol corresponding operations of the STB (it will be appreciated thatremote controls which are supplied together with a STB may already befactory pre-configured in this manner, however remote controls offeredas aftermarket accessories and/or supplied together with otherappliances may not be.)

To this end, upon completion of device setup, application 406 mayinteractively prompt the user to enter information regarding deviceusage and system configuration, which information may then be used toconfigure key assignments, automatically program macro command sequencessuch as “all on”, “all off”, “watch a movie”, etc., or for any otherappropriate remote control configuration purpose. An exemplary methodfor performing key mapping is illustrated in FIGS. 8A-8C and summarizedin flowchart form in FIG. 9 . By way of this example, upon initiation ofthis particular setup operation, which may be initiated in a mannersimilar to that described above, application 406 may display on TV 104 amessage 802 requesting that the user indicate to the remote controlwhich device is normally used for controlling system volume. In theexample presented, the choices 803 are TV, audio receiver, or VCR.Without limitation, this list may include all device types supportingthe operation for which is setup is desired, be limited to those devicetypes that the system has learned, through the initial configurationprocess, are to be controlled via the remote control, etc. The user maythen indicate to the remote control which of the listed devices is to beused for this operation by activation of an appropriate one of thedevice keys 212 (“TV”, “Aux” or “VCR” in this instance). Activation of adevice key may then cause the remote control 100 to set it's internalkey mapping for volume control (i.e., the command codes which are to betransmitted by the volume and mute keys 208 during normal operation) tomatch the device indicated. Remote control 100 may also transmit aspecific command code to STB 102 indicating that a volume selection hasbeen made. Receipt of this command by the STB may cause application 406to display the next user prompt 804 on TV 104, requesting user selectionof the device usually used for movie playback. In a similar manner, auser selection of playback device may be performed. With reference tothe flowchart of FIG. 9 (902,904), in systems where remote control 100was supplied in conjunction with STB 102 and application 406 is residentin the STB, the step of selecting a channel tuning device may bebypassed since in this instance it is the STB by default. In othersituations, the user may be prompted 806 to specify a device to be usedfor channel tuning, once again in a similar manner to that previouslydescribed. Upon completion of this stage of the setup process, incertain embodiments remote control 100 may also adjust 906 macro commandsequences (such as “all on” or “all off”, or activity initiating macrossuch as “watch a movie”) as required by the newly-entered devicepreferences.

It will be appreciated that all or part of data 404 and/or application406 may be downloaded into STB 102 (or other application host device asappropriate) from a cable or satellite headend, the internet, the PSTN,etc., as is well known in the art, either as a periodic update or ondemand when the remote control setup feature is invoked. In this manner,the data used to guide the user through the setup process may berefreshed whenever new or revised brand names or cross references occur,to allow for language expansion, etc. Further, in situations wheremultiple remote control models or revisions have been offered by asupplier of the STB or other host device, alternative data sets 404 maybe downloaded, for example based on user response to an initial screendisplaying images of the various remote control versions, on anidentifying signal transmitted by the remote control to be configured,etc.

A second exemplary embodiment of the instant invention will now bepresented in conjunction with FIGS. 10 and 11 . Turning to FIG. 10 , anexemplary system 1000 is illustrated wherein the configuration of auniversal remote control 101 to command, for example, an AV receiver1004 and/or a DVD player 1006 may be facilitated via interaction with anInternet enabled TV set 1002. In order to support Internet connectivityand functionality, TV 1002 may be provisioned with a software platformsuch as Yahoo Connected TV, Google TV, etc., which platforms may supportdownload and installation of third-party applications, often referred toin the art as “Apps” or “Widgets”. Such third party applications(hereafter referred to as a “widgets”) may be readily developed usingSDKs provided for this purpose by the platform vendor and may bedesigned for permanent or temporary installation into a storage device1012 provided for that purpose as part of a suitably equipped TV set1002. It will be appreciated that storage 1012 may take the form of anytype of readable and/or writeable media, such as, for example, internalflash or RAM memory, a memory stick, a hard disk, a smart card, etc., asappropriate for a particular implementation. A manufacturer or developerof a universal controlling device 101 may accordingly develop and makeavailable a widget to assist users in the set up of the controllingdevice 101. As will be appreciated, such a set up widget 1020 may bemade available online for user selection and download from an Internetaccessible server 1010, or alternatively such a widget may bepreinstalled in TV 1002 by the manufacturer of that TV, for example incases where controlling device 101 is provided together with TV 1002.

Once installed and activated by a user, widget 1020 may serve to guidethe user through set up of controlling device 101 as will now describedin conjunction with FIGS. 11A through 11D, which figures comprise aseries of exemplary displays on TV 1002 during set up of an exemplarydevice. While the displays presented in these exemplary figures aretypical of those which may be generated during execution of such a setup widget on a Yahoo Connected TV compatible appliance, it will beappreciated that alternate widget embodiments may utilize other suitableInternet TV platforms and, as such, the particular format and/or layoutof the presented displays is by way of illustration only and notintended to be limiting in any manner.

Activation of the set up widget 1020 may occur via selection of anon-screen icon 1102 from a home screen 1100. Such selection may beperformed, for example, via the use of navigation keys 214 ofcontrolling device 101 to move a cursor on TV display 1100 until icon1102 is highlighted, followed by activation of a select key 222. As willbe appreciated, other methods of selection for example cursor movementby gesture or touchpad input, explicit character entry, dropdown menuselection, etc., may be available in particular implementations of TV1002, and accordingly the term “selection” hereafter should beunderstood to comprise any such method or any other equivalent, asappropriate for a particular implementation.

Once activated, widget 1020 may reference a database of appliance modeland setup code information 1040 to enable a model-based set up codesearch. All or part of database 1040 may be stored locally on TV 1002,either configured at time of manufacture or downloaded as part of or inconjunction with widget 1020; or may be located on a remote server 1014(which may be part of or separate from server 1010) and accessed viaInternet connection 1008. With reference to screen display 1110, setupwidget 1020 may commence by displaying a listing 1112 of availableappliance device types from which a user may select a desired device forconfiguration, for example selecting the “DVD” item 1114 from list 1112in order to commence configuration of controlling device 101 to commandoperation of DVD player 1006. Upon selection of a device to beconfigured, a user may next be presented with display 1120 comprising aprompt 1124 to begin entry of a brand name for the DVD player to beconfigured, together with an alphanumeric keyboard 1122. As a userenters a brand name by selecting a series of characters from keyboard1122, widget 1020 may concurrently scan database 1040 and commence aninteractive display of available brand names which match the partiallycompleted user entry. By way of example, as illustrated, after a userhas entered the first three letters “s-a-n” 1126, widget 1020 mayautomatically display of list of matching brand names 1128, for example“Sansui” and “Sanyo”. At any time, a user may select a brand name, whichselection may result in display 1130 where, in a similar manner to thatdescribed above, a user may next enter model number information andselect a matching or closely matching entry from an interactive list ofmodel numbers 1132. It will also be appreciated that selection of abrand and/or model of an appliance to this same end may also oralternatively be facilitated through the use of menus, tree structures,or the like without limitation.

Once a brand and model for an appliance have been selected, asillustrated in display 1140 widget 1020 may present set up instructions1142 suitable for configuring controlling device 101 to operate thedesired appliance, for example a Sanyo DWM1000M DVD player 1006.Displayed set up instructions 1142 may include a set up code number 1144corresponding to a command code set considered most likely to operateappliance 106. After a user has utilized this set up code number toconfigure controlling device 101, for example by following displayedinstructions 1146, the user may be requested to test the controllingdevice and report the outcome to set up widget 1020 via a communicationto the device upon which the set up widget is operating, for example toselect from presented “yes” or “no” icons 1148. If a “no” response isinput, set up widget 1020 may display the next most likely set up codenumber corresponding to the specified appliance brand and model and theabove configure and test steps may be repeated. If all likely set upcodes have been exhausted, a display 1150 may be presented to thiseffect, possibly together with guidance on where additional assistancemay be obtained, for example a customer service telephone number, a Website URL, etc. (not illustrated.) In some embodiments, such guidance mayvary depending on current circumstances, for example, a type and/orbrand of appliance or controlling device being configured, data storedfrom previous set up sessions, etc. If on the other hand a successfulset up is reported, for example by user selection of “yes” from display1140, a completion display 1160 may be presented comprising panel 1162from which a user may exit the set up widget or may select anotherdevice type to be configured.

It will be appreciated that in various embodiments the exact nature ofmany of the steps describe above may be varied not only according to thespecific Internet enabled TV platform being used, but also according tothe capabilities of the controlling device involved. For example, whilethe illustrative steps presented above are generally suitable forconfiguration of conventional controlling devices which do not includeany special adaptation or accommodation for use in conjunction withinteractive setup widgets, support for controlling devices with agreater degree of interaction may also be provided within particularembodiments of widgets. For example, in cases where a controlling devicesuch as device 100 of the earlier-described embodiment is to beconfigured, interactions such as those previously described inconjunction with the flowchart of FIGS. 7 and 9 may be incorporated,mutatis mutandis, into set up widget 1020. By way of further example, incases where the controlling device to be configured is capable ofbi-directional communication with the platform appliance upon which aset up widget is implemented, the user set up code number entry stepsdescribed in conjunction with display 1140 of FIG. 11 may be replaced bya direct download of the set up code number, or even the code dataitself, into the controlling device.

Various other modifications or enhancements to the embodiments describedabove will be apparent to those of skill in the art. For example,certain controlling devices may be adapted to identify themselves to aset up widget, using for example a distinctive infrared or RFtransmission, thus allowing the set up widget to automatically determinea suitable method of interaction, device command library, etc., for useduring the set up process. The command code database searched by the setup widget may comprise a local portion and a remote portion wherein thelocal portion is searched first and the remote portion accessed only ifno suitable code set is found in the local portion, as further describedfor example in U.S. Pat. No. 7,046,161, of like assignee andincorporated herein by reference in its entirety. In a yet furtherembodiment, a set up widget may upload copies of controlling devicesettings, configurations, etc., to server 1014 for storage and potentialfuture retrieval by a user, for example upon acquisition of a new oradditional controlling device or appliance. Alternatively or inconjunction with such a service, server 1014 may aggregate such uploadeddata for statistical purposes, to generate user preference information,to offer product recommendations, etc., as further described for examplein U.S. Pat. No. 7,093,003 of like assignee and incorporated herein byreference in its entirety.

While specific embodiments of the present invention have been describedin detail, it will be appreciated by those skilled in the art thatvarious modifications and alternatives to those details could bedeveloped in light of the overall teachings of the disclosure. Forexample, it should be appreciated that any of the above describedmethods can be used alone or in combination to setup the remote controls100 or 101. Additionally, as noted, the functionality of the universalremote controls 100 or 101 can be included in other devices such asPDAs, personal computers, home devices, or the like thus also makingsuch devices a controlling device like a universal remote control.Further, while the exemplary embodiment above is presented in terms ofinteractions between a set top box or an Internet-connected TV and auniversal remote control, it will be appreciated that many otherappliance types, e.g. PVRs, DVDs, PCs, etc. may be substituted for thesedevices without altering the spirit of the invention. Accordingly, itwill be understood that the particular arrangements and proceduresdisclosed are meant to be illustrative only and not limiting as to thescope of the invention which is to be given the full breadth of theappended claims and any equivalents thereof.

All of the cited patents and patent applications are hereby incorporatedby reference in their entirety.

What is claimed is:
 1. A controlled device, comprising: a receiver forreceiving communications from a remotely located controlling device; aprocessing device coupled to the receiver; and a memory storingexecutable instructions, wherein the instructions, when executed by theprocessing device, cause the controlled device to: automaticallyprogress through a setup procedure comprising a first plurality of setupprocedure steps in response to the controlled device being repeatedlycommanded, via respective, plural communications received via use of thereceiver from the controlling device, to perform a first operation,wherein each of the plural communications is associated with atransmission by the controlling device of a respective one of aplurality of command codes, until the controlled device is commanded,via a subsequent communication received from the controlling device viause of the receiver, to perform a second operation, different than thefirst operation; and in response to the controlled device beingcommanded to perform the second operation, causing a command codesethaving the respective one of the plurality of command codes transmittedby the controlling device immediately before the transmission by thecontrolling device of the subsequent communication to be provisioned tothe controlling device for use by the controlling device to transmitcommands to a target device to control operational functions of a thetarget device.
 2. The controlled device as recited in claim 1, whereincontrolled device comprises a set-top box and the display devicecomprises a television.
 3. The controlled device as recited in claim 1,wherein the command codeset to be provisioned to the controlling devicecomprises an infrared command code set.
 4. The controlled device asrecited in claim 1, wherein the instructions cause the controlled deviceto commence automatic progression of the setup procedure in response tothe controlled device being commanded via the controlling device toperform a third operation.
 5. The controlled device as recited in claim1, wherein communications received via use of the receiver from thecontrolling device comprise commands received from the controllingdevice transmitted via use of an RF protocol.
 6. The controlled deviceas recited in claim 1, wherein communications received via use of thereceiver from the controlling device comprises commands received fromthe controlling device transmitted via use of an IR protocol.
 7. Thecontrolled device as recited in claim 1, wherein the controlled devicecomprises a media accessing device.
 8. The controlled device as recitedin claim 1, wherein the controlled device comprises a transceivercoupled to the processing device for receiving the executableinstructions from a remote server for storage in the memory.
 9. Thecontrolled device as recited in claim 1, wherein the setup procedurecomprises a second plurality of setup procedure steps for identifyingthe plurality of command codes in response to communications receivedvia use of the receiver from the controlling device.
 10. The controlleddevice as recited in claim 9, wherein the plurality of command codes areidentified as a function of at least a brand for the target device thatis specified via use of the second plurality of setup procedure steps.11. The controlled device as recited in claim 1, wherein controlleddevice further comprises a transmitter and the instructions cause thecontrolled device to transmit to a display device via use of thetransmitter communications to cause the display device to displayinstructional information to a user while automatically progressingthrough the setup procedure.
 12. The controlled device as recited inclaim 11, wherein the instructional information being displayed by thedisplay device comprises a series of displayed navigable menus.
 13. Asystem, comprising: a controlling device; and a controlled device;wherein the controlled device comprises: a receiver for receivingcommunications from the controlling device; a processing device coupledto the receiver and the transmitter; and a memory storing executableinstructions, wherein the instructions, when executed by the processingdevice, cause the controlled device to: automatically progress through asetup procedure comprising a first plurality of setup procedure steps inresponse to the controlled device being repeatedly commanded, viarespective, plural communications received via use of the receiver fromthe controlling device, to perform a first operation, wherein each ofthe plural communications is associated with a transmission by thecontrolling device of a respective one of a plurality of command codes,until the controlled device is commanded, via a subsequent communicationreceived from the controlling device via use of the receiver, to performa second operation, different than the first operation; and in responseto the controlled device being commanded to perform the secondoperation, causing a command codeset having the respective one of theplurality of command codes transmitted by the controlling deviceimmediately before the transmission by the controlling device of thesubsequent communication to be provisioned to the controlling device foruse by the controlling device to transmit commands to a target device tocontrol operational functions of a the target device.
 14. The system asrecited in claim 13, wherein controlled device comprises a set-top boxand the display device comprises a television.
 15. The system as recitedin claim 13, wherein the command codeset provisioned to the controllingdevice comprises an infrared command code set.
 16. The system as recitedin claim 13, wherein the instructions cause the controlled device tocommence automatic progression of the setup procedure in response to thecontrolled device being commanded via the controlling device to performa third operation.
 17. The system as recited in claim 13, whereincommunications received via use of the receiver from the controllingdevice comprise commands received from the controlling devicetransmitted via use of an RF protocol.
 18. The system as recited inclaim 13, wherein communications received via use of the receiver fromthe controlling device comprises commands received from the controllingdevice transmitted via use of an IR protocol.
 19. The system as recitedin claim 13, wherein the controlled device comprises a media accessingdevice.
 20. The system as recited in claim 13, wherein the controlleddevice comprises a transceiver coupled to the processing device forreceiving the executable instructions from a remote server for storagein the memory.
 21. The system as recited in claim 13, wherein the setupprocedure comprises a second plurality of setup procedure steps foridentifying the plurality of command codes in response to furthercommunications received via use of the receiver from the controllingdevice.
 22. The system as recited in claim 21, wherein the plurality ofcommand codes are identified as a function of at least a brand for thetarget device that is specified via use of the second plurality of setupprocedures.
 23. The system as recited in claim 13, wherein controlleddevice further comprises a transmitter and the instructions cause thecontrolled device to transmit to a display device via use of thetransmitter communications to cause the display device to displayinstructional information to a user while automatically progressingthrough the setup procedure.
 24. The system as recited in claim 23,wherein the instructional information being displayed by the displaydevice comprises a series of displayed navigable menus.